train <- read.csv("./data/train.csv", header = TRUE, sep = ",")
source("./utils.r")
Preprocessing
Remove empty rows and normalize data
train <- train[complete.cases(train), ]
train[, 2:(ncol(train) - 1)] <- scale(train[, 2:(ncol(train) - 1)])
train.x <- train[, 2:(ncol(train) - 1)]
train.y <- train[, ncol(train)]
Ridge regression
library(glmnet)
## Loading required package: Matrix
## Loaded glmnet 4.1-6
num_lambdas <- 100
lambdas <- 10^seq(5, -5, length = num_lambdas)
ridge <- glmnet(train.x, train.y, family = "multinomial", alpha = 0, lambda = lambdas)